מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015) מרצה: פרופ' בני שור מתרגלים: אורית מוסקוביץ' וגל רותם 28.1.2015 הנחיות: 1. מומלץ לקרוא את כל ההנחיות והשאלות בתחילת המבחן, לפני כתיבת התשובות. 2. משך הבחינה: שלוש שעות. 3. חומר עזר מותר: שני דפי פוליו (דו צדדיים) בלבד עם שם התלמיד/ה. 4. יש לענות על כל השאלות במקום המיועד לכך בטופס השאלון (טופס זה). מחברות הבחינה לא ייקראו, וישמשו כטיוטא בלבד. 5. יש למלא בכל דף של השאלון מספר ת.ז ומספר מחברת. 6. במבחן יש 6 שאלות פתוחות: יש לענות על השאלות במקום המיועד לכך בטופס השאלון. במידה ואינכם יודעים תשובה לשאלה, ניתן לענות ''אינני יודע/ת'' ולא להוסיף שום הסבר. על סעיף זה יינתנו 20% מהנקודות. יש לענות תשובות ברורות, עינייניות, תמציתיות וקריאות. תשובות שיחרגו משמעותית מהמקום המוקצב עלולות לגרום להורדת נקודות. 7. מותר להשתמש בכל טענה שהוכחה בכיתה (בהרצאה, בתרגול או בתרגיל בית) בתנאי שמצטטים אותה במדויק. טענות אחרות (כאלה שהוכחו בספר, בהרצאות מהסמסטר הקודם, וכו') יש להוכיח..8 אלא אם נאמר אחרת, הניחו כי,NP CoNP,P NP וכן 1} {0, =.Σ בהצלחה, וחופש נעים! 6 5 4 3 2 1 סה''כ
.1 יהיו > 0,a b 0 מספרים קבועים שלמים. נגדיר b}.l ab = {0 n 1 m m an + הערה: בכל אחד מהסעיפים הבאים (לא חובה בשניהם), ניתן לענות עבור המקרה ש = 0 b ולקבל חצי מהניקוד. (א) (5 נקודות) הוכיחו בקצרה כי L ab ח''ה (אם מתארים אוטומט, אין לכתוב פונ' מעברים). (ב) (10 נקודות) הוכיחו כי L ab אינה רגולרית. נראה כי L ab אינה רגולרית (והטענה נובעת מתכונת סגירות של שפות רגולריות תחת משלים)..L ab = {0 n 1 m m = an + b} נניח כי זו שפה רגולרית, לכן קיים לה קבוע ניפוח p. נסתכל על המילה w = 0 p 1 ap+b L ab וכן. w p תהי חלוקה w = xyz כך ש > 0 k y = וגם. xy p לכן, y מכיל רק 0 ים. נסתכל על.w 0 = xy 0 z = 0 p k 1 ap+b מתקיים: a(p k) + b = ap + b ak < ap + b ולכן.w 0 / L ab
.2 15) נקודות) נגדיר את השפה: L = { M 1, M 2 M 1 / L(M 2 ) M 2 / L(M 1 ) מ''ט ומתקיים M 1, M 2 } הוכיחו לאיזו מבין המחלקות הבאות L שייכת? (א).L R (ג).L CoRE \ R (ב).L RE \ R (ד).L / RE CoRE.L CoRE \ R :L = { M 1, M 2 M 1 L(M 2 ) M 2 L(M 1 )} RE (1) נבנה מ''ט עבור השפה L: המכונה תריץ במקביל את M 1 על הקלט 2 M ואת M 2 על הקלט 1 M Mapping Reduction f from A T M to L On input M, w (a) Construct a TM M 2 such that L(M 2 ) = Σ (b) Construct a TM M 1 : M 1 = On input x: 1. Run M on w 2. If M accepts, accept; If M rejects, reject (c) Return M 1, M 2 ותקבל אם שתי המכונות קיבלו. :L / R (2) נראה רדוקציה מ A. T M נכונות: אם, M, w A T M אז M לא מקבלת את w ולכן = ) 1.L(M לכן = ) 1. M 1, M 2 L M 2 / L(M אם, M, w / A T M אז M מקבלת את w ולכן Σ.L(M 1 ) = לכן Σ M 2 L(M 1 ) = וגם Σ. M 1, M 2 / L M 1 L(M 2 ) = פתרון נוסף: נקבע את M 2 להיות מכונה כלשהי שמקבלת את Σ, נקרא למכונה זו.ALL L = { M 1 ALL / L(M 1 )} אזי הבעיה הופכת להיות וזו שפה לא כריעה ממשפט רייס.
.3 15) נקודות) נגדיר את השפה: L = { M, k L(M) k מ''ט ומתקיים M} הוכיחו לאיזו מבין המחלקות הבאות L שייכת? (א).L R (ג).L CoRE \ R (ב).L RE \ R (ד).L / RE CoRE.L RE \ R :L RE (1) נבנה מ''ט עבור השפה L: המכונה תריץ את M על כל המילים ב Σ בצורה מבוקרת (כלומר, באיטרציה ה i, i צעדים על i המילים הראשונות) ותקבל אם מספר המילים ש M קיבלה k. Mapping Reduction f from E T M to L On input M (a) Return M, 1 :L / R (2) נראה רדוקציה מ } L(M).E T M = { M נכונות: אם, M E T M אז L(M) ולכן M מקבלת לפחות מילה אחת.. M, 1 L אם, M / E T M אז = L(M) ולכן M לא מקבלת אף מילה.. M, 1 / L L = { M L(M) 1} פתרון נוסף: נקבע = 1.k אזי הבעיה הופכת להיות וזו שפה לא כריעה ממשפט רייס.
QE = מערכת של m משוואות ריבועיות ב { n משתנים.x 1,..., x n מקדמי המחוברים הם מספרים שלמים..4 25) נקודות) נגדיר את השפה: } קיימת הצבה x 1,..., x n {0, 1} המספקת את כל המשוואות. משוואה ריבועית היא משוואה עם מספר מחוברים, שכל אחד מהם הוא מספר שלם, משתנה או מכפלה של שני משתנים. לדוגמא: x 1 + x 2 x 3 + x 7 + x 2 x 5 + x 2 3 + x 5 x 2 = 1 (א) (5 נקודות) הוכיחו כי.QE NP העד הוא ההצבה 1} {0, n x 1,..., x שאורכה n ביטים. המוודא מציב ובודק כי כל המשוואות מתקיימות (זמן פולינומיאלי באורך הקלט). (ב) (20 נקודות) הוכיחו כי QE היא NP קשה. הדרכה: הראו רדוקציה מ.3Col לכל צומת v i בגרף, הגדירו שלושה משתנים.x i, y i, z i לפי ההדרכה, נבנה רדוקציה מ.3Col עבור קלט G נבנה מערכת משוואות בצורה הבאה. לכל צומת v i בגרף, נגדיר שלושה משתנים.x i, y i, z i נגדיר את המשוואות הבאות: לכל צומת,v i נגדיר את המשוואה: = 1 i x i + y i + z לכל קשת ) j,(v i, v נגדיר את המשוואות: = 0 j x i x y i y j = 0 z i z j = 0 נכונות: הרדוקציה חשיבה ופול'. נניח כי הגרף 3 G צביע. אזי כל צומת בגרף צבוע באדום, כחול או צהוב, כך שאין זוג צמתים שכנים שצבועים באותו צבע. נגדיר השמה V עבור מערכת המשוואות באופן הבא: עבור צומת,v i אם צבעו אדום, = 0 ) i V (x i ) = 1, V (y i ) = 0, V (z אם צבעו כחול, = 0 ) i V (x i ) = 0, V (y i ) = 1, V (z אם צבעו צהוב, = 1 ) i V (x i ) = 0, V (y i ) = 0, V (z נראה כי זו השמה מספקת: לכל צומת,v i מתקיים = 1 i :x i + y i + z כיוון שההשמה מגדירה בדיוק אחד מהמשתנים ל 1, ואת שני המשתנים הנותרים ל 0.
לכל קשת ) j,(v i, v מתקיים = 0 j x i x y i y j = 0 z i z j = 0 כיוון שאם למשל 0 j x i x אזי = 1 ) j.v (x i ) = V (x אבל זה גורר ש v i ו v j נצבעו שניהם באדום. תהי V הצבה מעל {1,0} שמספקת את כל המשוואות. נראה כי 3 G צביע. כיוון ש V מספקת את כל הנוסחאות מהצורה = 1 i V,x i + y i + z חייבת להגדיר בדיוק אחד מהמשתנים ל 1, ואת שני המשתנים הנותרים ל 0. נגדיר צביעה לקודקודי G באופן הבא: אם = 1 ) i, V (x נצבע את v i באדום. אם = 1 ) i, V (y נצבע את v i בכחול. אם = 1 ) i, V (z נצבע את v i בצהוב. נראה שזו צביעה חוקית. כלומר, שלכל קשת ) j (v i, v צבעי הקודקודים v i, v j שונה. תהי קשת ) j v) i, v כלשהי. כיוון ש V מספקת את כל הנוסחאות, בפרט היא מספקת את: = 0 j x i x y i y j = 0 z i z j = 0 לכן, לא ייתכן כי = 1 ) j V (x i ) = V (x (וכנ''ל לשני המשתנים הנותרים). לכן לפי הגדרת הצביעה, שני הקודקודים צבועים בצבעים שונים..5 10) נקודות) הוכיחו / הפריכו: קיימת שפה רגולרית שהיא NP שלמה NP P. = הוכחה: (= ) כל שפה רגולרית היא ב P (אפילו לינארית). לכן, נניח שקיימת שפה L רגולרית שהיא NP שלמה. תהי.L NP אזי יש רדוקציה ל L L p ולכן.L P וקיבלנו. P = NP ולכן NP P ( =) טענה: אם P = NP אזי כל שפה לא טריוויאלית ב P היא NP שלמה. הוכחה: תהי שפה.L Σ,,L P נראה כי L היא NP שלמה..L P = NP נותר להראות כי L היא NP קשה. יהיו x L, y / L ותהי.L P = NP אזי קיימת רדוקציה :L p L עבור קלט w, נבדוק האם L w בזמן פול'. אם כן, נחזיר x, אחרת, נחזיר y. לכן, למשל {0} היא שפה רגולרית NP שלמה.
6. נגדיר מחלקת שפות: DP = {L Σ L 1 NP, L 2 CoNP. L = L 1 L 2 } ונגדיר את השפה: 4Not3Col = { G גרף 4 צביע ולא 3 צביע G} (א) (5 נקודות) הוכיחו כי 4Not3Col DP ניקח G} NP גרף 4 צביע { G L 1 = ו G} CoNP גרף לא 3 צביע { G L 2 = (ב) (10 נקודות) הוכיחו כי 4Not3Col היא NP קשה נראה רדוקציה מ.3Col בהנתן גרף G נבנה גרף G באופן הבא: נוסיף קודקוד חדש v ל G ונחבר אותו ליתר הקודקודים. כמו כן, נוסיף קליק בגודל 4 (מנותק מיתר קודקודי הגרף). נכונות: הרדוקציה חשיבה ופול'. נניח כי 3 G צביע. אזי G 4 צביע, ע''י כך שנצבע את הקודקוד v בצבע חדש, ואת הקליק כל קודקוד בצבע אחר. כמו כן, G אינו 3 צביע, כיוון שחייבים 4 צבעים שונים על מנת לצבוע את קודקודי הקליק. נניח כי G 4 צביע ולא 3 צביע. נשים לב כי v חייב להיות בצבע שונה מכל קודקודי G (כיוון שהוא מחובר לכולם). לכן, קודקודי G צבועים באופן חוקי ע''י 3 צבעים. פתרון נוסף: נראה רדוקציה מ 4Col (ראינו בתרגיל בית כי 4Col היא NP שלמה). בהנתן גרף G נבנה גרף G באופן הבא: נוסיף ל G קליק בגודל 4 (מנותק מיתר קודקודי הגרף). נניח כי 4 G צביע. אזי G 4 צביע, ע''י כך שנצבע את הקליק כל קודקוד בצבע אחר. כמו כן, G אינו 3 צביע, כיוון שחייבים 4 צבעים שונים על מנת לצבוע את קודקודי הקליק. נניח כי G 4 צביע ולא 3 צביע. בפרט נקבל כי 4 G צביע.
(ג) (5 נקודות) הוכיחו:.NP = CoNP = DP = NP CoNP נניח כי.DP = NP CoNP אזי.4Not3Col CoNP כמו כן, 4N ot3col היא N P קשה (מסעיף ב'). לכן, תהי L, N P אזי.L p 4Not3Col כיוון שלפי הנחה,4Not3Col CoNP נקבל ש.L CoNP כלומר קיבלנו.NP CoNP וראינו בתרגול שזה גורר.NP = CoNP פתרון נוסף: נשים לב כי,NP DP לכן אם DP = NP CoNP נקבל NP NP CoNP CoNP ולכן.NP = CoNP